Python基础

您所在的位置:网站首页 Python 计算年龄 Python基础

Python基础

2023-03-10 21:52| 来源: 网络整理| 查看: 265

Python基础——6.用户输入和while 循环 6.0 前言6.1 函数input() 的工作原理6.1.1 编写清晰的程序6.1.2 使用int() 来获取数值输入6.1.3 求模运算符 6.2 while 循环简介6.2.1 使用while 循环6.2.2 让用户选择何时退出6.2.3 使用标志6.2.4 使用break 退出循环6.2.5 在循环中使用continue6.2.6 避免无限循环 6.3 使用while 循环来处理列表和字典6.3.1 在列表之中添加元素6.3.2 删除包含特定值的所有列表元素6.3.3 使用用户输入来填充字典 6.4 小结习题

6.0 前言

大多数程序都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息。例如,假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就 需要知道用户的年龄,这样才能给出答案。因此,这种程序需要让用户输入 其年龄,再将其与投票年龄进行比较,以判断用户是否到了投票的年龄,再给出结果。

在本章中,你将学习如何接受用户输入,让程序能够对其进行处理。在程序需要一个名字时,你需要提示用户输入该名字;程序需要一个名单时,你需要提示用户输 入一系列名字。为此,你需要使用函数input() 。

你还将学习如何让程序不断地运行,让用户能够根据需要输入信息,并在程序中使用这些信息。为此,你需要使用while 循环让程序不断地运行,直到指定的条件不 满足为止。

通过获取用户输入并学会控制程序的运行时间,可编写出交互式程序。

6.1 函数input() 的工作原理

函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便你使用。 例如,下面的程序让用户输入一些文本,再将这些文本呈现给用户

s = input("please input a string:") print(s)

函数input() 接受一个参数:即要向用户显示的提示 或说明,让用户知道该如何做。

在这个示例中,Python运行第1行代码时,用户将看到提示 “please input a string:”

程序等待用户输入,并在用户按回车键后继续运行。输入存储在变量s 中,接下来的print(s) 将输入呈现给用户:

please input a string:Helloworld! Helloworld! 6.1.1 编写清晰的程序

每当你使用函数input() 时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息——指出用户该输入任何信息的提示都行,如下所示:

name = input("Please enter your name: ") print("Hello, " + name + "!")

通过在提示末尾(这里是冒号后面)包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处,如下所示:

Please enter your name: Eric Hello, Eric!

有时候,提示可能超过一行,例如,你可能需要指出获取特定输入的原因。

在这种情况下,可将提示存储在一个变量中,再将该变量传递给函数input() 。

这样,即便提示超过一行,input() 语句也非常清晰。

prompt = "If you tell us who you are, we can personalize the messages you see." prompt += "\nWhat is your first name? " name = input(prompt) print("\nHello, " + name + "!")

这个示例演示了一种创建多行字符串的方式。第1行将消息的前半部分存储在变量prompt 中;在第2行中,运算符+= 在存储在prompt 中的字符串末尾附加一个字符串。

最终的提示横跨两行,并在问号后面包含一个空格,这也是出于清晰考虑:

If you tell us who you are, we can personalize the messages you see. What is your first name? Eric Hello, Eric!

使用函数input() 时,Python将用户输入解读为字符串。请看下面让用户输入其年龄的解释器会话:在这里插入图片描述

6.1.2 使用int() 来获取数值输入

使用函数input() 时,Python将用户输入解读为字符串。请看下面让用户输入其年龄的解释器会话: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JXF6uNpg-1678336656799)(img.png)] 用户输入的是数字21,但我们请求Python提供变量age的值时,它返回的是’21’ ——用户输入的数值的字符串表示。

我们怎么知道Python将输入解读成了字符串呢?因为这个数字用引号括起了。

如果我们只想打印输入,这一点问题都没有;但如果你试图将输入作为数字使用,就会引发错误:

在这里插入图片描述

你试图将输入用于数值比较时(见❶),Python会引发错误,因为它无法将字符串和整数进行比较:不能将存储在age 中的字符串’21’ 与数值18 进行比较(见❷)。

为解决这个问题,可使用函数int() ,它让Python将输入视为数值。函数int() 将数字的字符串表示转换为数值表示,如下所示: 在这里插入图片描述 在这个示例中,我们在提示时输入21 后,Python将这个数字解读为字符串,但随后int() 将这个字符串转换成了数值表示(见❶)。

这样Python就能运行条件测试了:将变量age (它现在包含数值21)同18 进行比较,看它是否大于或等于18。测试结果为True 。

如何在实际程序中使用函数int() 呢?请看下面的程序,它判断一个人是否满足坐过山车的身高要求:

height = int(input("How tall are you, in inches? ")) if height >= 36: print("\nYou're tall enough to ride!") else: print("\nYou'll be able to ride when you're a little older.")

在这个程序中,为何可以将height 同36 进行比较呢?因为在比较前,height = int(height) 将输入转换成了数值表示。

如果输入的数字大于或等于36,我们就告诉用户他满足身高条件:

How tall are you, in inches? 71 You're tall enough to ride!

将数值输入用于计算和比较前,务必将其转换为数值表示。

6.1.3 求模运算符

处理数值信息时,求模运算符 (%)是一个很有用的工具,它将两个数相除并返回余数:

print(5%4) print(3%1) print(3%2) print(3%3)

运算结果如下:

1 0 1 0

求模运算符不会指出一个数是另一个数的多少倍,而只指出余数是多少。 如果一个数可被另一个数整除,余数就为0,因此求模运算符将返回0。你可利用这一点来判断一个数是奇数还是偶数:

number = int(input("Enter a number, and I'll tell you if it's even or odd: ")) if number % 2 == 0: print("\nThe number " + str(number) + " is even.") # even 偶数 else: print("\nThe number " + str(number) + " is odd.") # odd 奇数

偶数都能被2整除,因此对一个数(number )和2执行求模运算的结果为零,即number % 2 == 0 ,那么这个数就是偶数;否则就是奇数。

Enter a number, and I'll tell you if it's even or odd: 42 The number 42 is even. 6.2 while 循环简介

for 循环用于针对集合中的每个元素都一个代码块,而while 循环不断地运行,直到指定的条件不满足为止。

6.2.1 使用while 循环

你可以使用while 循环来数数,例如,下面的while 循环从1数到5:

current_number = 1 while current_number


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3